# 
# Created with PyCharm.
# Description :
# User: jiume
# Date: 2024-09-04
# Time: 9:10
#

# 下面的操作都是可以对序列进行的，因为学习了字符串，因此便用字符串来演示
# 字符串是一组字符的序列


# # 序列的切片操作
# s = 'Hello World'
# print(s[0:5:2]) # 从0下标开始，到4下标结束，每次走两步
# print(s[0:5]) # 省略步长，就代表默认为1
# print(s[:5]) # 省略起始位置，默认是从0下标开始
# print(s[:]) # 省略结束位置默认是字符串的长度（即遍历了字符串）
# # 步长为负数时，就是通过逆向索引遍历，也就是默认从-1下标开始，到遍历完字符串（逆序输出）
# print(s[::-1])


# # 序列的相加、相乘操作
# s1 = 'Hello'
# s2 = 'World'
# print(s1+s2) # 拼接序列
# print(s1*5) # 重复输出序列


# # 序列相关的操作符和函数的使用
# s = 'Hello World'
# # 返回True或False
# print('o' in s)
# print('v' in s)
#
# print(len(s))
# print(max(s)+'hhh') # 这里比较的是ASCII码值
# print(min(s)+'hhh')
#
# print(s.index('o')) # 找到'o'中第一次出现的下标
# print(s.index('v')) # 没有出现就报错
#
# print(s.count('o')) # 找到'o'出现的总次数
# print(s.count('v')) # 没出现就报错


# # 列表的创建与删除
#
# # 列表的创建方式一：采用[]
# list1 = ['Hello', 'World', 99, 3.14] # 列表中的元素类型可以不一致
# print(list1)
# # 列表的创建方式二：采用list
# list2 = list('Hello''world') # 中间不能用 ，隔开，且类型得一致
# print(list2)
# list3 = list(range(1, 11)) # 存储整型
# print(list3)
#
# # 列表的删除
# del list1
# # print(list1) # 因为已经删除了，因此不能去使用，否则就会报错


# # 列表的遍历操作
# list = ['Hello', 'World', 'nihao', 3.14]
# # 1、for循环
# for i in list:
#     print(i)
# print('-'*40)
# # 2、for循环+索引值
# for i in range(0, len(list)): # 这里的i是索引值
#     print(list[i])
# print('-' * 40)
# # 3、enumerate函数
# for i , j in enumerate(list): # 这里的i是序号值，可以改变的
#     print(i,'-->',j)
# print('-'*40)
# # 这里的i是序号值，改变序号值
# for i, j in enumerate(list, start=1): # 序号值从1开始（start可以省略）
#     print(i, '-->', j)


# # 列表的相关操作方法
# list = ['C语言','JavaSE','数据结构','MySQL']
# print(list)
# # 尾插一个元素
# list.append('高阶数据结构')
# print(list)
# # 在指定位置插入一个元素
# list.insert(0, '编程学习路线：')
# print(list)
# # 取出index位置的元素，并删除
# print(list.pop(0))
# print(list)
# # 删除第一次出现的元素(没有，就啥也不干)
# list.remove('高阶数据结构')
# print(list)
# # 反转列表
# list.reverse()
# print(list)
# # 拷贝列表
# new_list = list.copy()
# print(new_list)
# print(list)
# # 清空列表
# list.clear()
# print(list) # 列表为空